package com.shop.cloud.upms.common.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.v3.oas.annotations.media.Schema;

import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.NotNull;
import java.time.LocalDateTime;

/**
 * <p>
 * 机构管理
 * </p>
 *
 * @author
 */
@Data
@Schema(description = "机构管理")
@EqualsAndHashCode(callSuper = true)
public class SysOrgan extends Model<SysOrgan> {

	private static final long serialVersionUID = 1L;

	@Schema(description = "id")
	@TableId(type = IdType.ASSIGN_ID)
	private String id;
	/**
	 * 机构名称
	 */
	@Schema(description = "机构名称")
	@NotNull(message = "机构名称不能为空")
	private String name;
	/**
	 * 排序
	 */
	@Schema(description = "排序")
	@NotNull(message = "排序不能为空")
	private Integer sort;
	/**
	 * 机构编码
	 */
	@Schema(description = "排序")
	@NotNull(message = "机构编码不能为空")
	private String code;
	/**
	 * 机构类型
	 */
	@Schema(description = "机构类型")
	@NotNull(message = "机构类型不能为空")
	private String type;
	/**
	 * 租户ID
	 */
	@Schema(description = "租户ID")
	private String tenantId;
	/**
	 * 电话
	 */
	@Schema(description = "电话")
	private String phone;
	/**
	 * 传真
	 */
	@Schema(description = "传真")
	private String fax;
	/**
	 * 邮箱
	 */
	@Schema(description = "邮箱")
	private String email;
	/**
	 * 地址
	 */
	@Schema(description = "地址")
	private String address;
	/**
	 * 备注
	 */
	@Schema(description = "备注")
	private String remarks;
	/**
	 * 创建时间
	 */
	@Schema(description = "创建时间")
	private LocalDateTime createTime;
	/**
	 * 修改时间
	 */
	@Schema(description = "修改时间")
	private LocalDateTime updateTime;
	/**
	 * 父类ID
	 */
	@Schema(description = "父类ID")
	private String parentId;

	/**
	 * 是否删除  -1：已删除  0：正常
	 */
//	@TableLogic
	@Schema(description = "是否删除")
	private String delFlag;
}
